<!DOCTYPE html>
<html>
<head>
    <title>IP白名单</title>
    <#include "/header.html">
    <link href="${request.contextPath}/statics/plugins/jquery-layout/jquery.layout-latest.css" rel="stylesheet"/>
</head>
<body>
<div id="rrapp" v-cloak class="container-div ui-layout-center">
    <div v-show="showList">
        <div class="container-div ui-layout-center" style="margin-top: 10px;">
            <div class="form-group col-sm-2" style="margin-right: 10px;">
                <input type="text" class="form-control" v-model="q.slbIp"
                       placeholder="请输入相关IP进行检索">
            </div>
            <div class="form-group col-sm-2" style="margin-right: 10px;">
                <input type="text" class="form-control" v-model="q.remark"
                       placeholder="请输入相关备注进行检索">
            </div>
             <a class="btn btn-default" @click="query">查询</a>
             <a class="btn btn-primary" @click="add"><i class="fa fa-plus"></i>&nbsp;新增</a>
</div>
<div class="col-sm-12 select-info table-striped">
    <table id="bootstrap-table" data-mobile-responsive="true"></table>
</div>
</div>
<div v-show="!showList" class="panel panel-default">
    <div class="panel-heading">{{title}}</div>
    <form class="form-horizontal" id="form">
        <div class="form-group">
            <div class="col-sm-2 control-label">负载IP</div>
            <div class="col-sm-10">
                <input type="text" class="form-control" v-model="user.slbIp" placeholder="请输入负载IP"/>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-2 control-label">备注</div>
            <div class="col-sm-10">
                <input type="text" class="form-control" v-model="user.remark" placeholder="设置备注信息"/>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-2 control-label"></div>
            <input type="button" ref="submitBtn" class="btn btn-primary" @click="saveOrUpdate" value="确定"/>
            &nbsp;&nbsp;<input type="button" class="btn btn-warning" @click="reload" value="返回"/>
        </div>
    </form>
</div>
</div>
<script src="${request.contextPath}/statics/plugins/jquery-layout/jquery.layout-latest.js"></script>
<script>
    $(document)
        .ready(
            function() {
                $('body').layout({
                    west__size : 185
                });
               $('#bootstrap-table')
                    .bootstrapTable(
                        {
                            method : 'get', // 服务器数据的请求方式 get or post
                            url : baseURL + 'aliyunNonResolve/findAliyunNonResolvePage', // 服务器数据的加载地址
                            showRefresh : true,
                            showToggle : true,
                            showColumns : true,
                            //showExport :true,
                            sortable: true,
                            sortName:"userId",// 排序列名称
                            sortOrder: "desc",
                            iconSize : 'outline',
                            toolbar : '#exampleToolbar',
                            striped : true, // 设置为true会有隔行变色效果
                            dataType : "json", // 服务器返回的数据类型
                            pagination : true, // 设置为true会在底部显示分页条
                            // queryParamsType : "limit",
                            // //设置为limit则会发送符合RESTFull格式的参数
                            singleSelect : false, // 设置为true将禁止多选
                            // contentType : "application/x-www-form-urlencoded",
                            // //发送到服务器的数据编码类型
                            pageSize : 10, // 如果设置了分页，每页数据条数
                            pageNumber : 1, // 如果设置了分布，首页页码
                            // search : true, // 是否显示搜索框
                            //showColumns : false, // 是否显示内容下拉框（选择显示的列）
                            sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
                            // "server"
                            queryParams : function(params) {
                                //console.log(params)
                                return {
                                    // 说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                                    limit : params.limit,
                                    page : (params.offset/params.limit) + 1,
                                    slbIp : vm.q.slbIp,
                                    remark:vm.q.remark
                                };
                            },
                            columns : [
                                {
                                    checkbox : true
                                },
                                {
                                    field : 'slbIp',
                                    align:'center',
                                    title : 'IP名称'
                                },
                                {
                                    field : 'remark',
                                    align:'center',
                                    title : '备注'
                                },
                                {
                                    field : 'createTime', // 列字段名
                                    align:'center',
                                    title : '创建时间',// 列标题
                                },
                                {
                                    title : '操作',
                                    field : 'id',
                                    width:330,
                                    align : 'center',
                                    formatter : function(
                                        value, row,
                                        index) {
                                        //console.log(row);
                                        var e = '<a  class="btn btn-primary btn-sm '
                                            + ''
                                            + '" href="#" mce_href="#" title="编辑" onclick="edit(\''
                                            + row.slbIp + ',' + row.remark
                                            + '\')"><i class="fa fa-edit " style="margin-right: 5px"></i>编辑</a> ';
                                        var d = '<a class="btn btn-danger btn-sm '
                                            + ''
                                            + '" href="#" title="删除"  mce_href="#" onclick="remove(\''
                                            + row.slbIp
                                            + '\')"><i class="fa fa-remove" style="margin-right: 5px"></i>删除</a> ';
                                        return e + d;
                                    }
                                }]
                        });
            });
    var vm = new Vue({
        el : '#rrapp',
        data : {
            q : {
                slbIp : '',
                remark:''
            },
            showList : true,
            title : null,
            user : {
                slbIp:'',
                remark:''
            }
        },
        methods : {
            query : function() {
                vm.reload();
            },
            add : function() {
                vm.showList = false;
                vm.title = "新增";
                vm.user = {
                    slbIp:'',
                    remark:''
                };
             },
           saveOrUpdate : function() {
                var url = vm.user.id == null ? "aliyunNonResolve/saveAliyunNonResolve"
                    : "aliyunNonResolve/updateAliyunNonResolve";
                //console.log(vm.user.platformId);
               var params = vm.user.id == null ?{
                   slbIp:vm.user.slbIp,
                   remark:vm.user.remark
               }:{
                   oldSlbIp:vm.user.id,
                   newSlbIp:vm.user.slbIp,
                   remark:vm.user.remark
               };
               var btn = vm.$refs.submitBtn;
                if(checkIsBank(vm.user.slbIp)){
                    alert("全部为必填字段!");
                    return false;
                }
                btn.disabled = true;
                $.ajax({
                    type : "POST",
                    url : baseURL + url,
                    contentType : "application/json",
                    data : JSON.stringify(params),
                    success : function(r) {
                        btn.disabled = false;
                        if (r.code === 0) {
                            alert('操作成功', function() {
                                vm.reload();
                            });
                        } else {
                            alert(r.msg);
                        }
                    }
                });
            },
             reload : function() {
                vm.showList = true;
                var opt = {
                    url: baseURL + 'aliyunNonResolve/findAliyunNonResolvePage',
                    silent: true,
                    query:{
                        limit : 10,
                        page : 0,
                        slbIp : vm.q.slbIp,
                        remark:vm.q.remark
                    }
                };
                $('#bootstrap-table').bootstrapTable('refresh',
                    opt);
             }
        }
    });

    function edit(id,remark) {
        var data = id.split(',');
        if (id == null) {
            return;
        }
        //console.log(2222)
       // console.log(id.slbIp);
        vm.user = {
            slbIp:'',
            remark:''
         };
        vm.showList = false;
        vm.title = "修改";
        vm.user.id = data[0];
        vm.user.remark = data[1];
    }

    function remove(id) {
        confirm('确定要删除选中的记录？', function() {
            $.ajax({
                type : "POST",
                url : baseURL + "aliyunNonResolve/deleteAliyunNonResolve",
                contentType : "application/json",
                data : JSON.stringify({slbIp:id}),
                success : function(r) {
                    if (r.code == 0) {
                        alert('操作成功', function() {
                            vm.reload();
                        });
                    } else {
                        alert(r.msg);
                    }
                }
            });
        });
    }
</script>


</body>
</html>